Symmetric key encryption is a form of encryption where the same key information is used to encrypt and decrypt the desired data. Symmetric key encryption can be used on either a stream of data or discrete blocks of data. Symmetric key encryption is known to be faster and stronger in general than alternative asymmetric key encryption methods and can be used whenever it is possible to ensure the security of the key information among the parties who are allowed access.
There have been several different standards of symmetric key encryption. The Data Encryption Standard (DES) was designed by IBM in the 1970's. DES is a block encryption standard with discrete blocks of data of 64 bits and a key size of 56 bits. In some form, DES was considered the standard encryption method until it was replaced by the Advanced Encryption Standard (AES). DES is now considered insecure based on its relatively small key size and the fact that it can be reliably broken in short periods of time using modern computer hardware. AES has a block size of 128 bits and a key size of 128, 192, or 256 bits. It was first published in the late 1990's, and is currently considered a standard for symmetric key encryption and is considered by the U.S. government to be sufficient to protect classified information.
In current encryption systems, there is a tradeoff between the strength of the encryption against breaking and the cost of implementing the encryption method. In many cases, the strength of the encryption method is heavily reliant on the size of the key used, as in DES and AES. In the most extreme case, a symmetric key encryption can be made unbreakable by using what is known as a one-time pad (OTP). In an OTP encryption, the key used is perfectly random, is the same length as the data being encrypted, and can only be used once. Assuming that the key is secret and known only to the allowed parties, an OTP encryption is considered mathematically unbreakable. However, the cost of implementing an OTP is high, requiring that each party share very large keys using a sufficiently secret method for each message that they want to send.
A good symmetric key encryption method has a reasonable cost for sharing and storing of the key information and running the encryption algorithm, but it must also result in a strong encryption that is not realistically breakable.